home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / moodle_xss.nasl < prev    next >
Text File  |  2005-03-31  |  2KB  |  77 lines

  1. #
  2. # Script by Noam Rathaus
  3. #
  4. # From: Bartek Nowotarski <silence10@wp.pl>
  5. # Subject: Cross Site Scripting in Moodle < 1.3
  6. # Date: 2004-04-30 23:34
  7.  
  8. if(description)
  9. {
  10.  script_id(12222);
  11.  script_bugtraq_id(10251);
  12.  script_version ("$Revision: 1.5 $"); 
  13.  name["english"] = "Moodle XSS";
  14.  
  15.  script_name(english:name["english"]);
  16.  
  17.  desc["english"] = "
  18. The remote host is using Moodle, a course management system (CMS).
  19. There is a bug in this software that makes it vulnerable to cross 
  20. site scripting attacks.
  21.  
  22. An attacker may use this bug to steal the credentials of the 
  23. legitimate users of this site.
  24.  
  25. Risk factor : Medium";
  26.  
  27.  script_description(english:desc["english"]);
  28.  
  29.  summary["english"] = "Checks for the presence of an XSS bug in Moodle";
  30.  
  31.  script_summary(english:summary["english"]);
  32.  
  33.  script_category(ACT_GATHER_INFO);
  34.  
  35.  script_copyright(english:"This script is Copyright (C) 2004 Noam Rathaus");
  36.  family["english"] = "CGI abuses : XSS";
  37.  script_family(english:family["english"]);
  38.  script_dependencie("find_service.nes", "cross_site_scripting.nasl", "http_version.nasl");
  39.  script_require_ports("Services/www", 80);
  40.  exit(0);
  41. }
  42.  
  43. #
  44. # The script code starts here
  45. #
  46.  
  47. function check(loc)
  48. {
  49.  req = http_get(item:string(loc, "/help.php?text=%3Cscript%3Efoo%3C/script%3E"),
  50.                 port:port);
  51.  r = http_keepalive_send_recv(port:port, data:req, bodyonly:1);
  52.  if( r == NULL ) exit(0);
  53.  if(egrep(pattern:"<script>foo</script>", string:r))
  54.  {
  55.         security_warning(port);
  56.         exit(0);
  57.  }
  58. }
  59.  
  60.  
  61. include("http_func.inc");
  62. include("http_keepalive.inc");
  63.  
  64. port = get_http_port(default:80);
  65.  
  66. if(!get_port_state(port))exit(0);
  67. if(!can_host_php(port:port))exit(0);
  68. if (  get_kb_item(string("www/", port, "/generic_xss")) ) exit(0);
  69.  
  70.  
  71. check(loc:"/moodle");
  72. foreach dir (cgi_dirs())
  73. {
  74.  check(loc:dir);
  75. }
  76.  
  77.